package cn.xy.dao;

import cn.xy.pojo.Bolg;

import java.util.List;
import java.util.Map;

/**
 *  动态sql
 */
public interface BolgMapper {
    //添加
    Integer addBolg(Bolg bolg);

    //查询，if判断
    /**
     * 动态SQL语句之if判断
     * 查询，没有条件时查询全部，有title时，根据title查询。
     * 有author时，根据author查询，title,author都有时，根据这两个查询
     */
    List<Bolg> queryBolyIF(Map map);


    //查询choose when otherwise
    /**
     *  动态SQL语句之choose、when、otherwise（类似于java中的Switch选择结构）
     *  查询，没有条件满足是，按照otherwise标签里views访问量查询
     *  有条件title和author，只能根据一个条件查询
     * @param map
     * @return
     */
    List<Bolg> queryBloyByChoose(Map map);


    //修改 set标签

    /**
     *  set标签会智能的去掉条件后面的逗号,
     * @param map
     * @return
     */
    Integer updateBloy(Map map);

    //查询 foreach标签
    /**
     *  查询id为1，2，3的博客
     *  使用foreach拼接sql
     *  select * from `blog` where (id = 1 or id = 2 or id = 3);
     * @param map
     * @return
     */
    List<Bolg> queryBloyByForeach(Map map);
}
